/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo;

import java.io.Serializable;
import java.util.Collection;
import java.util.Date;

/**
 *
 * @author Toshiba
 */
public interface SolicitudreservaInterface extends Serializable {

    /**
     * Determina si otro objeto es igual a Solicitudreserva. El resultado es
     * <code>true</code> si y solo si el argumento no es nulo y es un objeto Solicitudreserva
     * que tiene el mismo valor del campo id en este objeto.
     * @param object La referencia objeto con el cual comparar
     * @return <code>true</code> Si este objeto es la misma que su argumento;
     * <code>false</code> si no lo es.
     */
    @Override
    boolean equals(Object object);

    /**
     * Obtiene la fechaAprobacion de la Solicitudreserva
     * @return La fechaAprobacion de la Solicitudreserva (dd/mmm/yyyy)
     */
    Date getFechaAprobacion();

    /**
     * Obtiene la fechaFin de la Solicitudreserva
     * @return La fechaFin de la Solicitudreserva (dd/mm/yyyy)
     */
    Date getFechaFin();

    /**
     * Obtiene la fechaInicio de la Solicitudreserva
     * @return La fechaInicio de la Solicitudreserva (dd/mm/yyyy)
     */
    Date getFechaInicio();

    /**
     * Obtiene la horaAprobacion de la Solicitudreserva
     * @return La horaAprobacion de la Solicitudreserva (hh:mm)
     */
    Date getHoraAprobacion();

    /**
     * Obtiene la horaFin de la Solicitudreserva
     * @return La horaFin de la Solicitudreserva (hh:mm)
     */
    Date getHoraFin();

    /**
     * Obtiene la horaInicio de la Solicitudreserva
     * @return La horaInicio de la Solicitudreserva (hh:mm)
     */
    Date getHoraInicio();

    /**
     * Obtiene el idAprobador de la Solicitudreserva
     * @return El idAprobador de la Solicitudreserva
     */
    Usuario getIdAprobador();

    /**
     * Obtiene el idEstadoSolicitud de la Solicitudreserva
     * @return El idEstadoSolicitud de la Solicitudreserva
     */
    Estadosolicitud getIdEstadoSolicitud();

    /**
     * Obtiene el IdRecurso de la Solicitudreserva
     * @return El idRecurso de la Solicitudreserva
     */
    Integer getIdRecurso();

    /**
     * Obtiene el idSolicitante de la Solicitudreserva
     * @return El idSolicitante de la Solicitudreserva
     */
    Usuario getIdSolicitante();

    /**
     * Obtiene el idSolicitudReserva de la Solicitudreserva
     * @return El idSolicitudReserva de la Solicitudreserva
     */
    Integer getIdSolicitudReserva();

    /**
     * Obtiene el idTipoRecurso de la Solicitudreserva
     * @return El idTipoRecurso de la Solicitudreserva
     */
    Tiporecurso getIdTipoRecurso();

    /**
     * Obtiene el valor de la observacion de la Solicitudreserva
     * @return El valor de la observacion de la Solicitudreserva
     */
    String getObservacion();

    /**
     * Obtiene una reservaCollection de la Solicitudreserva
     * @return La reservaCollection de la Solicitudreserva
     */
    Collection<Reserva> getReservaCollection();

    /**
     * Obtiene el userAudita de la Solicitudreserva
     * @return El userAudita de la Solicitudreserva
     */
    String getUserAudita();

    /**
     * Retorna un valor de Hash para el objeto.
     * Esta implementacion evalua un valor hash basado sobre los campos id en este objeto
     * @return Un valor de hash para este objeto
     */
    @Override
    int hashCode();

    /**
     * Fija la fechaAprobacion de la Solicitudreserva al valor especificado
     * @param fechaAprobacion La fechaAprobacion de la reserva
     */
    void setFechaAprobacion(Date fechaAprobacion);

    /**
     * Fija la fechaFin de la Solicitudreserva al valor especificado
     * @param fechaFin La fechaFin de la Solicitudreserva (dd/mm/yyyy)
     */
    void setFechaFin(Date fechaFin);

    /**
     * Fija la fechaInicio de la Solicitudreserva al valor especificado
     * @param fechaInicio La fechaInicio de la Solicitudreserva (dd/mm/yyyy)
     */
    void setFechaInicio(Date fechaInicio);

    /**
     * Fija la horaAprobacion de la Solicitudreserva al valor especificado
     * @param horaAprobacion La horaAprobacion de la Solicitudreserva (hh:mm)
     */
    void setHoraAprobacion(Date horaAprobacion);

    /**
     * Fija la hora de finalizacion de la Solicitudreserva al valor especificado
     * @param horaFin La hora de finalizacion de la Solicitudreserva (hh:mm)
     */
    void setHoraFin(Date horaFin);

    /**
     * Fija la horaInicio de la Solicitudreserva al valor especificado
     * @param horaInicio La horaInicio de la Solicitudreserva (hh:mm)
     */
    void setHoraInicio(Date horaInicio);

    /**
     * Fija el idAprobador de la Solicitudreserva al valor especificado
     * @param idaprobador El idAprobador de la Solicitudreserva
     */
    void setIdAprobador(Usuario idaprobador);

    /**
     * Fija el idEstadoSolicitud de la Solicitudreserva al valor especificado
     * @param idEstadoSolicitud El estado de la Solicitudreserva
     */
    void setIdEstadoSolicitud(Estadosolicitud idEstadoSolicitud);

    /**
     * Fija el IdRecurso de la Solicitudreserva al valor especificado
     * @param idrecurso El idRecurso de la Solicitudreserva
     */
    void setIdRecurso(Integer idrecurso);

    /**
     * Fija el idSolicitante de la Solicitudreserva al valor especificado
     * @param idSolicitante El idSolicitante de la Solicitudreserva
     */
    void setIdSolicitante(Usuario idSolicitante);

    /**
     * Fija el identificador de la Solicitudreserva al valor especificado
     * @param idSolicitudReserva El idSolicitudReserva de la Solicitudreserva
     */
    void setIdSolicitudReserva(Integer idSolicitudReserva);

    /**
     * Obtiene el idTipoRecurso de la Solicitudreserva
     * @param idTipoRecurso El tipo de recurso de la Solicitudreserva
     */
    void setIdTipoRecurso(Tiporecurso idTipoRecurso);

    /**
     * Fija el valor de la observacion de la Solicitudreserva
     * @param observacion La observacion de la Solicitudreserva
     */
    void setObservacion(String observacion);

    /**
     * Fija la reservaCollection de la Solicitudreserva al valor especificado
     * @param reservaCollection La reservaCollection de la Solicitudreserva
     */
    void setReservaCollection(Collection<Reserva> reservaCollection);

    /**
     * Fija el userAudita de la Solicitudreserva al valor especificado
     * @param userAudita El userAudita de la Solicitudreserva
     */
    void setUserAudita(String userAudita);

    /**
     * Retorna una representacion String de este objeto.  Esta implementacion This implementation construye
     * la representacion basada en los campos id.
     * @return Una representacion String del objeto.
     */
    @Override
    String toString();

}
